/******************************************************************************

	COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2010.

	This file is part of Maxsi Engine.

	Maxsi Engine is free software: you can redistribute it and/or modify it
	under the terms of the GNU Lesser General Public License as published by
	the Free Software Foundation, either version 3 of the License, or (at your
	option) any later version.

	Maxsi Engine is distributed in the hope that it will be useful, but WITHOUT
	ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
	FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
	for more details.

	You should have received a copy of the GNU Lesser General Public License
	along with Maxsi Engine. If not, see <http://www.gnu.org/licenses/>.

	MaxsiEngine.dll
	A general purpose C++ library for the Maxsi Technology Project.

	MaxsiInteger.h
	Useful functions for dealing with integers.

******************************************************************************/

#include "MaxsiEngine.h"

BeginMaxsiNamespace

LINK char* TestPrintStringA(char* Format, ...);
LINK size_t TestPrintStringALength(char* Format, size_t FormatLen, va_list Arguments);

LINK MAXSI_FORCE_INLINE size_t IntLength10(int Input);
LINK MAXSI_FORCE_INLINE size_t Int8Length10(int8_t Input);
LINK MAXSI_FORCE_INLINE size_t Int16Length10(int16_t Input);
LINK MAXSI_FORCE_INLINE size_t Int32Length10(int32_t Input);
LINK MAXSI_FORCE_INLINE size_t Int64Length10(int64_t Input);

LINK MAXSI_FORCE_INLINE size_t UIntLength10(unsigned int Input);
LINK MAXSI_FORCE_INLINE size_t UInt8Length10(uint8_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt16Length10(uint16_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt32Length10(uint32_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt64Length10(uint64_t Input);

LINK MAXSI_FORCE_INLINE size_t UIntLength16(int Input);
LINK MAXSI_FORCE_INLINE size_t UInt8Length16(uint8_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt16Length16(uint16_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt32Length16(uint32_t Input);
LINK MAXSI_FORCE_INLINE size_t UInt64Length16(uint64_t Input);

LINK MAXSI_FORCE_INLINE size_t SizeLength10(size_t Input);
LINK MAXSI_FORCE_INLINE size_t SizeLength16(size_t Input);

LINK MAXSI_FORCE_INLINE size_t PrintUInt10A(char* Dest, int Input);

EndMaxsiNamespace

